Beispiel #1
0
        private void CashOrderHandler_OnOrderUpdated(Teb.FIX.Model.Order order)
        {
            try
            {
                if (order.ServerStatus != ContentServerStatus.Waiting)
                {
                    const int orderFee = 0;
                    QuantConnect.Orders.Order quantOrder = convertHelper.ConvertToOrder(order);
                    OrderStatus status = convertHelper.ConvertToStatus(order);

                    var orderEvent = new OrderEvent(quantOrder, Algorithm.UtcTime, orderFee)
                    {
                        Status = status
                    };
                    OnOrderEvent(orderEvent);
                }
                _tradeDbHelper.UpdateOrder(order);
            }
            catch (Exception ex)
            {
                TBYException tex = new TBYException(MethodInfo.GetCurrentMethod().GetFullName(), String.Format("DbID:{0} TEBID:{1} emir veritabanında güncellenirken hata oluştu", order == null ? "-1" : order.DbID.ToString(),
                                                                                                               order == null ? "-1" : order.TEBID), ex);
                Error(tex);
            }
        }
        private void SetSecurities()
        {
            try
            {
                DbQueryManager dbManager   = new DbQueryManager(connString);
                IDataReader    queryResult = dbManager.ToExecuteReader("sel_SecurityStream", true, new Dictionary <string, object>()
                {
                    { "Kriter", 1 }
                });
                while (queryResult.Read())
                {
                    SecurityBuilder secBuilder = new SecurityBuilder();
                    Security        sec        = secBuilder.Build(queryResult);

                    dataProvider.SecurityValues.AddOrUpdate(sec.OrgSecurity, sec, (k, v) => { return(sec); });
                }
                queryResult.Close();
                queryResult.Dispose();
            }
            catch (Exception ex)
            {
                TBYException tex = new TBYException(MethodInfo.GetCurrentMethod().GetFullName(), "Veritabanından semboller getirilirken hata oluştu", ex);
                ProcessException(tex);
            }
        }
        private void TryParse021(string dataFeedMsg)//Haber icerigi
        {
            try
            {
                string   notSymbolData = dataFeedMsg.Substring(3, dataFeedMsg.Length - 3);
                string[] svalues       = Split(notSymbolData);

                News news = new News();
                news.NewsId        = svalues[0];
                news.ContentLength = svalues[1];
                int len = svalues.Length;

                for (int i = 2; i < len; i++)
                {
                    news.Content += svalues[i];
                }

                news.UpdateTime    = DateTime.Now;
                news.Source        = "021";
                news.StreamMessage = dataFeedMsg;
                HandleNewsChanged(new NewsEventArgs(news, dataFeedMsg));
            }
            catch (Exception ex)
            {
                TBYException tex = new TBYException(MethodInfo.GetCurrentMethod().GetFullName(), "Matrkiks haber bilgisi mesajı işlenirken hatası oluştu", ex);
                HandleException(tex);
            }
        }
        private void Stop()
        {
            try
            {
                dataProvider.Stop();

                //Broadcaster.Stop();


                if (WaitForDBDequeuWhenClosing == false)
                {
                    DbQNews.Stop();
                    DbQNews.Dispose();

                    if (DbLogQueueCollection != null)
                    {
                        foreach (var item in DbLogQueueCollection.Values)
                        {
                            item.Stop();
                            item.Dispose();
                        }
                    }
                }



                StopLogger();
            }
            catch (Exception ex)
            {
                TBYException tex = new TBYException(MethodInfo.GetCurrentMethod().GetFullName(), "Kapanırken hata oluştu", ex);
                ProcessException(tex);
            }
        }
Beispiel #5
0
        private void OrderHandler_OnMessageIncoming(Teb.FIX.Model.Order order, string fixMessage)
        {
            try
            {
                if (order.SecurityType == CashDefinition.SECURITY_CASH || order.SecurityType == FutureDefinition.SECURITY_FUTURE || order.SecurityType == FutureDefinition.SECURITY_OPTION)
                {
                    //if (Setting.DistributeFixMessages)
                    //{
                    //    FixMessage fm = new FixMessage()
                    //    {
                    //        Account = order.Account,
                    //        Message = fixMessage,
                    //        SecurityType = order.SecurityType,
                    //        DbID = order.DbID.ToString(),
                    //        TEBID = order.TEBID
                    //    };


                    //    TradeDistrubuter.FixMsgDistQueue.Enqueue(new FixMessageQueueItem() { Message = fm });
                    //}
                }
                else
                {
                    //Log(String.Format("{0} mesajının SecurityType = {1} değeri geçerli değildir", fixMessage, order.SecurityType));
                }
            }
            catch (Exception ex)
            {
                TBYException tex = new TBYException(MethodInfo.GetCurrentMethod().GetFullName(), String.Format("{0} mesajı alıcılara gönderilirken hata oluştu", fixMessage), ex);
                Error(tex);
            }
        }
 private void LogQueue_OnDequeue(object arg1, QueueEventArgs <string> arg2)
 {
     try
     {
         QuantConnect.Logging.Log.Debug(arg2.Entry);
     }
     catch (Exception ex)
     {
         TBYException tex = new TBYException(MethodInfo.GetCurrentMethod().GetFullName(), "Log kuyruğunda log yazılırken hata oluştu", ex);
         QuantConnect.Logging.Log.Error(tex.ToString());
     }
 }
 public void StopLogger()
 {
     try
     {
         LogQueue.Stop();
         LogQueue.Dispose();
     }
     catch (Exception ex)
     {
         TBYException tex = new TBYException(MethodInfo.GetCurrentMethod().GetFullName(), "Logger kapatılırken hata oluştu", ex);
         QuantConnect.Logging.Log.Error(tex.ToString());
     }
 }
 public void StartLogger(string fileName)
 {
     try
     {
         LogQueue              = new StringQueue();
         LogQueue.OnException += LogQueue_OnException;
         LogQueue.OnDequeue   += LogQueue_OnDequeue;
     }
     catch (Exception ex)
     {
         TBYException tex = new TBYException(MethodInfo.GetCurrentMethod().GetFullName(), "Logger açılırken hata oluştu", ex);
         QuantConnect.Logging.Log.Error(tex.ToString());
     }
 }
        private void TryParse002(string dataFeedMsg)
        {
            try
            {
                string   source        = dataFeedMsg.Substring(0, 3);
                string   notSymbolData = dataFeedMsg.Substring(3, dataFeedMsg.Length - 3);
                string[] svalues       = Split(notSymbolData);



                if (svalues.Length != 3)
                {
                    HandleLog("Wrong 002 Message : " + dataFeedMsg);
                    return;
                }


                string id         = svalues[0];
                string origSymbol = svalues[1];


                Security sec;
                if (!SecurityValues.TryGetValue(origSymbol, out sec))
                {
                    sec             = new Security();
                    sec.OrgSecurity = origSymbol;
                }
                sec.Source = source;

                sec.Id          = id;
                sec.OrgSecurity = origSymbol;
                sec.IsDeleted   = true;
                sec.LastUpdate  = DateTime.Now;

                SecurityValues.AddOrUpdate(origSymbol, sec, (k, v) =>
                {
                    v.IsDeleted = true;
                    return(v);
                });

                HandleSecurityChanged(new SecurityEventArgs(sec, dataFeedMsg));
            }
            catch (Exception ex)
            {
                TBYException tex = new TBYException(MethodInfo.GetCurrentMethod().GetFullName(), "Matrkiks symbol delete mesajı işlenirken hatası oluştu", ex);
                HandleException(tex);
            }
        }
        public void OnSocketMessage(SocketBase socket, Int32 numBytes)
        {
            try
            {
                String strMessage = ASCIIEncoding.UTF8.GetString(socket.RawBuffer, 0, numBytes);

                StreamMessageQueue.Enqueue(strMessage);

                socket.RawBuffer = null;
            }
            catch (Exception ex)
            {
                TBYException tex = new TBYException(MethodInfo.GetCurrentMethod().GetFullName(), "Matriks socketinden veri gelirken hata oluştu", ex);
                HandleException(tex);
            }
        }
        private void TryParse022(string dataFeedMsg)//Haber silme
        {
            try
            {
                string   notSymbolData = dataFeedMsg.Substring(3, dataFeedMsg.Length - 3);
                string[] svalues       = Split(notSymbolData);


                //News news = new News();
                //news.IsDeleted=true;
                //HandleNewsChanged(new NewsArgsEventArgs(news));
            }
            catch (Exception ex)
            {
                TBYException tex = new TBYException(MethodInfo.GetCurrentMethod().GetFullName(), "Matrkiks haber bilgisi mesajı işlenirken hatası oluştu", ex);
                HandleException(tex);
            }
        }
        private void ProcessSocketMessage(string recievedMessage)
        {
            try
            {
                string totalMessage = MissingMessage + recievedMessage;

                int l   = totalMessage.Length;
                int ind = totalMessage.LastIndexOf(Environment.NewLine);
                if (ind != -1)
                {
                    int lastInd = (ind + ENV_NEWLINE_LENGTH);
                    if (l > lastInd)
                    {
                        MissingMessage = totalMessage.Substring(lastInd, totalMessage.Length - lastInd);
                        totalMessage   = totalMessage.Remove(lastInd, totalMessage.Length - lastInd);
                    }
                    else
                    {
                        MissingMessage = string.Empty;
                    }
                    // string[] asdasdas=   recievedMessage.Split(new[] { Environment.NewLine }, StringSplitOptions.RemoveEmptyEntries);
                    // int aasdas=recievedMessage.IndexOf(Environment.NewLine);
                    string[] lines = totalMessage.Split(new[] { Environment.NewLine }, StringSplitOptions.RemoveEmptyEntries);

                    for (int i = 0; i < lines.Length; i++)
                    {
                        string tmpLine = lines[i].Replace("\n", "");

                        CrackParser(tmpLine);
                    }
                }
                else
                {
                    MissingMessage = totalMessage;
                }
            }
            catch (Exception ex)
            {
                TBYException tex = new TBYException(MethodInfo.GetCurrentMethod().GetFullName(), "Matriks socket verisi işlenirken hata oluştu", ex);
                HandleException(tex);
            }
        }
        private void quoteQueue_OnException(object arg1, QueueEventArgs <string> arg2)
        {
            TBYException tex = new TBYException(MethodInfo.GetCurrentMethod().GetFullName(), "QuoteQueue_OnException hatası oluştu", arg2.Exception);

            HandleException(tex);
        }
        private void TryParse001(string dataFeedMsg)
        {
            try
            {
                string   source        = dataFeedMsg.Substring(0, 3);
                string   notSymbolData = dataFeedMsg.Substring(3, dataFeedMsg.Length - 3);
                string[] svalues       = Split(notSymbolData);

                if (svalues.Length != 12)
                {
                    HandleLog("Wrong 001 Message : " + dataFeedMsg);
                    return;
                }
                string origSymbol = svalues[1];
                if (string.IsNullOrEmpty(origSymbol))
                {
                    HandleLog("Missing 001 Symbol Field 001 Message : " + dataFeedMsg);
                    return;
                }

                int symbolCount = origSymbol.Length;
                if (symbolCount < 3)
                {
                    HandleLog("Wrong 001 Symbol Count " + symbolCount + " 001 Message : " + dataFeedMsg);
                    return;
                }

                string id           = svalues[0];
                string description  = svalues[2];
                string exchangeID   = svalues[3];
                string marketCode   = svalues[4];
                string depth        = svalues[5];
                string sectorID     = svalues[6];
                string decimalPlace = svalues[7];
                string endexes      = svalues[8];
                string symbol       = svalues[9];
                string sfx          = svalues[10];

                Security sec;
                if (!SecurityValues.TryGetValue(origSymbol, out sec))
                {
                    sec             = new Security();
                    sec.OrgSecurity = origSymbol;
                }

                sec.Source      = source;
                sec.LastUpdate  = DateTime.Now;
                sec.Id          = id;
                sec.OrgSecurity = origSymbol;
                sec.Description = description;
                sec.ExchangeID  = exchangeID;


                SetSecuritySembol(sec, symbol, sfx);

                Exchange exch;
                if (ExchangeDefinitions.TryGetValue(exchangeID, out exch))
                {
                    sec.ExchangeDescription = exch.Description;
                }

                sec.MarketCode = marketCode;

                string mrktDef;
                if (MarketDefinitions.TryGetValue(marketCode, out mrktDef))
                {
                    sec.MarketDescription = mrktDef;
                }
                sec.Depth        = short.Parse(depth);
                sec.SectorID     = sectorID;
                sec.DecimalPlace = short.Parse(decimalPlace);
                sec.Endexes      = endexes;

                char[] eList = endexes.ToCharArray();
                if (eList[0] == '0')
                {
                    sec.IsBist30 = false;
                }
                else
                {
                    sec.IsBist30 = true;
                }
                if (eList[1] == '0')
                {
                    sec.IsBist50 = false;
                }
                else
                {
                    sec.IsBist50 = true;
                }
                if (eList[2] == '0')
                {
                    sec.IsBist100 = false;
                }
                else
                {
                    sec.IsBist100 = true;
                }
                sec.LastUpdate = DateTime.Now;
                SecurityValues.AddOrUpdate(origSymbol, sec, (k, v) =>
                {
                    sec.IsDeleted = v.IsDeleted;
                    return(sec);
                });


                HandleSecurityChanged(new SecurityEventArgs(sec, dataFeedMsg));
            }
            catch (Exception ex)
            {
                TBYException tex = new TBYException(MethodInfo.GetCurrentMethod().GetFullName(), "Matrkiks symbol create mesajı işlenirken hatası oluştu", ex);
                HandleException(tex);
            }
        }
        private void TryParse012(string dataFeedMsg)
        {
            try
            {
                string   notSymbolData = dataFeedMsg.Substring(3, dataFeedMsg.Length - 3);
                string[] svalues       = Split(notSymbolData);



                if (svalues.Length != 4)
                {
                    HandleLog("Wrong 012 Message : " + dataFeedMsg);
                    return;
                }

                string date = svalues[0];

                if (date.StartsWith(DateTime.Now.Year.ToString()) == false)
                {
                    HandleLog("Wrong 012 Message : " + dataFeedMsg);
                    return;
                }

                string time           = svalues[1];
                string seanceInfoCode = svalues[2]; /* 0 : IMKB hisse senetleri piyasası seansı kapalı.
                                                     * 1 : IMKB hisse senetleri piyasası seansı açık.
                                                     * 2 : Tatil (IMKB hisse senetleri piyasasında işlem yapılmıyor
                                                     */


                string seansInfo = "";
                switch (seanceInfoCode)
                {
                case "0":
                    seansInfo = "IMKB hisse senetleri piyasası seansı kapalı";
                    break;

                case "1":
                    seansInfo = "IMKB hisse senetleri piyasası seansı açık";
                    break;

                case "2":
                    seansInfo = "Tatil (IMKB hisse senetleri piyasasında işlem yapılmıyor";
                    break;

                default:
                    HandleLog("Unkownn SeanceInfo Field 012 : " + dataFeedMsg);
                    return;
                }
                SeanceInfo = seansInfo;

                BistTime bistTime = new BistTime();
                bistTime.Date           = date;
                bistTime.Time           = time;
                bistTime.SeanceInfoCode = seanceInfoCode;
                bistTime.SeanceInfo     = seansInfo;

                HandleBistTimeChanged(new BistTimeEventArgs(bistTime));
            }
            catch (Exception ex)
            {
                TBYException tex = new TBYException(MethodInfo.GetCurrentMethod().GetFullName(), "Matrkiks seans zaman bilgisi mesajı işlenirken hatası oluştu", ex);
                HandleException(tex);
            }
        }
        private void TryParse020(string dataFeedMsg)//Haber basligi
        {
            try
            {
                string   notSymbolData = dataFeedMsg.Substring(3, dataFeedMsg.Length - 3);
                string[] svalues       = Split(notSymbolData);
                int      len           = svalues.Length;
                if (len < 8)
                {
                    HandleLog("Wrong 020 Message : " + dataFeedMsg);
                    return;
                }
                else if (len == 8 || (len == 9 && svalues[8] == ""))
                {
                    News news = new News();
                    news.NewsId        = svalues[0];
                    news.DateTime      = svalues[1];
                    news.Header        = svalues[2];
                    news.ContentLength = svalues[3];
                    int cl;
                    if (int.TryParse(svalues[3], out cl) == false)
                    {
                    }
                    news.Agent             = svalues[4];
                    news.Category          = svalues[5];
                    news.RelatedStockCount = svalues[6];
                    news.RelatedStocks     = svalues[7];
                    news.UpdateTime        = DateTime.Now;
                    news.Source            = "020";
                    news.StreamMessage     = dataFeedMsg;
                    HandleNewsChanged(new NewsEventArgs(news, dataFeedMsg));
                }
                else
                {
                    News news = new News();
                    news.NewsId            = svalues[0];
                    news.DateTime          = svalues[1];
                    news.Header            = svalues[2];
                    news.ContentLength     = svalues[3];
                    news.Agent             = svalues[4];
                    news.Category          = svalues[5];
                    news.RelatedStockCount = svalues[6];


                    for (int i = 7; i < len; i++)
                    {
                        if (string.IsNullOrEmpty(svalues[i]) == false)
                        {
                            news.RelatedStocks += svalues[i] + ",";
                        }
                    }
                    if (news.RelatedStocks.Length > 1)
                    {
                        news.RelatedStocks = news.RelatedStocks.Remove(news.RelatedStocks.Length - 1, 1);
                    }
                    news.UpdateTime    = DateTime.Now;
                    news.Source        = "020";
                    news.StreamMessage = dataFeedMsg;
                    HandleNewsChanged(new NewsEventArgs(news, dataFeedMsg));
                }
            }
            catch (Exception ex)
            {
                TBYException tex = new TBYException(MethodInfo.GetCurrentMethod().GetFullName(), "Matrkiks haber bilgisi mesajı işlenirken hatası oluştu", ex);
                HandleException(tex);
            }
        }
        private void DbNewsQueue_OnException(object arg1, QueueEventArgs <NewsDbLog> arg2)
        {
            TBYException tex = new TBYException(MethodInfo.GetCurrentMethod().GetFullName(), "DbNewsQueue_OnException hatası oluştu", arg2.Exception);

            ProcessException(tex);
        }
        private void TryParse060(string dataFeedMsg)//Genel veri update paketi
        {
            try
            {
                string source = dataFeedMsg.Substring(0, 3);
                string tmp1   = dataFeedMsg.Substring(3, 1);
                int    tmpInt1;
                string notSymbolData = dataFeedMsg.Substring(3, dataFeedMsg.Length - 3);

                List <string> vals       = new List <string>(notSymbolData.Split(MATRIKS_SEPERATOR));
                string        origSymbol = vals[0];
                vals.RemoveAt(0);


                if (int.TryParse(tmp1, out tmpInt1))
                {
                    HandleLog("Wrong 060 Message : " + dataFeedMsg);
                    return;
                }

                if (string.IsNullOrEmpty(origSymbol))
                {
                    HandleLog("Missing Symbol Field 060 Message : " + dataFeedMsg);
                    return;
                }


                Security sec;
                if (!SecurityValues.TryGetValue(origSymbol, out sec))//if (sec == null)
                {
                    sec             = new Security();
                    sec.OrgSecurity = origSymbol;
                }

                SetSecuritySembol(sec, null, null);

                sec.LastUpdate = DateTime.Now;
                sec.Source     = source;

                for (int i = 0; i < vals.Count; i++)
                {
                    if (i % 2 == 0)
                    {
                        string key = vals[i];
                        if (!string.IsNullOrEmpty(key))
                        {
                            string val = vals[i + 1];

                            SecurityPropertySetter.Set(sec, new KeyValuePair <string, string>(key, val));
                            sec.Dictionary.AddOrUpdate(key, val, (k, v) => { return(val); });
                        }
                    }
                }
                SecurityValues.AddOrUpdate(origSymbol, sec, (k, v) => { return(sec); });

                HandleSecurityChanged(new SecurityEventArgs(sec, dataFeedMsg));
            }
            catch (Exception ex)
            {
                TBYException tex = new TBYException(MethodInfo.GetCurrentMethod().GetFullName(), "Matrkiks sembol verisi işlenirken hata oluştu", ex);
                HandleException(tex);
            }
        }
        private void TryParse064(string dataFeedMsg)//Derinlik kademesi update
        {
            try
            {
                string   source = dataFeedMsg.Substring(0, 3);
                string   tmp1   = dataFeedMsg.Substring(3, 1);
                int      tmpInt1;
                string   notSymbolData = dataFeedMsg.Substring(3, dataFeedMsg.Length - 3);
                string[] svalues       = Split(notSymbolData);
                string   origSymbol    = svalues[0];

                int l = svalues.Length;

                if (l != 9 || (l != 9 && int.TryParse(tmp1, out tmpInt1)))
                {
                    HandleLog("Wrong 064 Message : " + dataFeedMsg);
                    return;
                }
                if (string.IsNullOrEmpty(origSymbol))
                {
                    HandleLog("Missing Symbol Field 064 Message : " + dataFeedMsg);
                    return;
                }


                string tmpSide   = svalues[1];
                string tmpRow    = svalues[2];
                string tmpPrice  = svalues[3];
                string tmpLots   = svalues[4];
                string tmporders = svalues[5];
                string time      = svalues[6];
                string tmpDepth  = svalues[7];

                decimal price;
                int     lots;
                int     orders;
                int     side;
                int     depth;
                int     row;



                if (int.TryParse(tmpRow, out row) == false)
                {
                    HandleLog("Missing RowIndex Field 064 Message : " + dataFeedMsg);
                    return;
                }

                int listIndex = row - 1;
                decimal.TryParse(tmpPrice, out price);
                int.TryParse(tmpLots, out lots);
                int.TryParse(tmporders, out orders);
                int.TryParse(tmpSide, out side);//0=> Buy 1=> Sell
                int.TryParse(tmpDepth, out depth);
                Quote         q        = null;
                SecurityDepth secDepth = null;

                // DispatchService.BeginInvoke(new Action(() =>
                //{
                QuoteValues.AddOrUpdate(origSymbol, (q = new Quote()
                {
                    Name = origSymbol, DepthCollection = GetQouteCollection(origSymbol, depth)
                }), (k, v) =>
                {
                    q = v;
                    return(q);
                });
                //}));
                // DispatchService.BeginInvoke(new Action(() =>
                // {
                q.DepthCollection.AddOrUpdate(listIndex, (secDepth = new SecurityDepth()
                {
                    Name = origSymbol
                }), (k, v) =>
                {
                    secDepth = v;
                    return(secDepth);
                });
                //}));
                secDepth.RowIndex       = listIndex;
                secDepth.Source         = source;
                MaxTimeStamp            = DateTime.Now;
                q.LastUpdateTime        = MaxTimeStamp;
                secDepth.LastUpdateTime = MaxTimeStamp;
                secDepth.LastStreamTime = time;
                if (side == 0)
                {
                    secDepth.BuyPrice  = price;
                    secDepth.BuyLots   = lots;
                    secDepth.BuyOrders = orders;
                }
                else
                {
                    secDepth.SellPrice  = price;
                    secDepth.SellLots   = lots;
                    secDepth.SellOrders = orders;
                }

                HandleSecurityDepthChanged(new SecurityDepthEventArgs(secDepth));
            }
            catch (Exception ex)
            {
                TBYException tex = new TBYException(MethodInfo.GetCurrentMethod().GetFullName(), "Matrkiks sembol derinlik verisi işlenirken hata oluştu", ex);
                HandleException(tex);
            }
        }
        //private void DbLogQueue_OnBulkException(object arg1, QueueEventArgs<IEnumerable<DbLog>> arg2)
        //{
        //    TBYException tex = new TBYException(MethodInfo.GetCurrentMethod().GetFullName(), "DbLogQueue_OnBulkDequeue hatası oluştu", arg2.Exception);
        //    HandleException(tex);
        //}



        #endregion

        public override void Start()
        {
            try
            {
                ParserUnkownQueue              = new ParserQueue();
                ParserUnkownQueue.OnDequeue   += ParserUnkownQueue_OnDequeue;
                ParserUnkownQueue.OnException += ParserUnkownQueue_OnException;


                Parser001Queue              = new ParserQueue();
                Parser001Queue.OnDequeue   += Parser001Queue_OnDequeue;
                Parser001Queue.OnException += Parser001Queue_OnException;


                Parser002Queue              = new ParserQueue();
                Parser002Queue.OnDequeue   += Parser002Queue_OnDequeue;
                Parser002Queue.OnException += Parser002Queue_OnException;


                Parser012Queue              = new ParserQueue();
                Parser012Queue.OnDequeue   += Parser012Queue_OnDequeue;
                Parser012Queue.OnException += Parser012Queue_OnException;

                Parser020Queue              = new ParserQueue();
                Parser020Queue.OnDequeue   += Parser020Queue_OnDequeue;
                Parser020Queue.OnException += Parser020Queue_OnException;

                Parser060Queue              = new ParserQueue();
                Parser060Queue.OnDequeue   += Parser060Queue_OnDequeue;
                Parser060Queue.OnException += Parser060Queue_OnException;


                Parser064Queue              = new ParserQueue();
                Parser064Queue.OnDequeue   += Parser064Queue_OnDequeue;
                Parser064Queue.OnException += Parser064Queue_OnException;


                StreamMessageQueue              = new StreamMessageQueue();
                StreamMessageQueue.OnDequeue   += quoteQueue_OnDequeue;
                StreamMessageQueue.OnException += quoteQueue_OnException;



                //SetSecurities();

                Listener = new MatriksListener(matriksIP, matriksPort);
                Listener.StartMatriksPriceSocket(OnSocketMessage);

                //Broadcaster = new DataBroadcaster(NotIPAdress, NotPort);

                //Broadcaster.OnLog += NotSocketServer_OnLog;
                //Broadcaster.OnException += NotSocketServer_OnException;
                //Broadcaster.Start();



                StartEnabled   = false;
                StopEnabled    = true;
                WatchEnabled   = true;
                MissingMessage = string.Empty;
            }
            catch (Exception ex)
            {
                TBYException tex = new TBYException(MethodInfo.GetCurrentMethod().GetFullName(), "Açılırken hata oluştu", ex);
                HandleException(tex);
            }
        }
        private void ParserUnkownQueue_OnException(object arg1, QueueEventArgs <ParserArg> arg2)
        {
            TBYException tex = new TBYException(MethodInfo.GetCurrentMethod().GetFullName(), "ParserUnkownQueue_OnException hatası oluştu", arg2.Exception);

            HandleException(tex);
        }