← Zurück

Данные в начале торговой сессии

При запуске сервиса получающего потоки с ммвб до начала торговой сессии (до 10:00): потоки со стаканами переходят в состояние ONLINE и НЕ получают никаких данных после 10:00 (в логах роутера и плазы нет ошибок, реплики поступают, событие MarketDepthsChanged не срабатывает)

При запуске сервиса после 10:00 событие MarketDepthsChanged приходит


        private void traderInit(Boolean __useReplRevFromSql, Int64 __replRev)
        {
            trader = new PlazaTrader();

            trader.Tables.Clear();

            //trader.Address = Settings.Default.PlazaServer.To<IPEndPoint>();
            trader.AppName = Settings.Default.AppName;
            trader.Password = Settings.Default.Password;            

            // Переподключение при разрыве          
            trader.ReConnectionSettings.ConnectingAttemptCount = -1;
            trader.ReConnectionSettings.ReConnectingAttemptCount = -1;

            // Записываем информацию о разрывах и соединениях с ртс
            trader.Connected += trader_Connected;
            trader.ConnectionError += trader_ConnectionError;
            trader.Disconnected += trader_Disconnected;
            trader.SessionStateChanged += trader_SessionStateChanged;
            trader.Log += trader_Log;
            trader.ReConnectionSettings.ConnectionAttemptError += reConnectionSettings_ConnectionAttemptError;
            trader.ReConnectionSettings.ConnectionRestored += reConnectionSettings_ConnectionRestored;
            
            // потоки

            trader.StreamManager.RevisionManager.Tables.Add(trader.TableRegistry.McxOrderBookSpot);   
            trader.StreamManager.RevisionManager.Tables.Add(trader.TableRegistry.McxTradesSpot);

            trader.StreamManager.RevisionManager.Tables.Add(trader.TableRegistry.McxOrderBookCurrency);
            trader.StreamManager.RevisionManager.Tables.Add(trader.TableRegistry.McxTradesCurrency);

            // таблицы

            trader.Tables.Add(trader.TableRegistry.McxOrderBookCurrency);
            trader.Tables.Add(trader.TableRegistry.McxTradesCurrency);
            trader.Tables.Add(trader.TableRegistry.McxSecuritiesCurrency);
            trader.Tables.Add(trader.TableRegistry.McxCommonCurrency);

            trader.Tables.Add(trader.TableRegistry.McxSecuritiesSpot);
            trader.Tables.Add(trader.TableRegistry.McxCommonSpot);
            trader.Tables.Add(trader.TableRegistry.McxOrderBookSpot);
            trader.Tables.Add(trader.TableRegistry.McxTradesSpot);
            
            // события

            trader.MarketDepthsChanged += MarketDepthsChanged;
            trader.NewTrades += trader_NewTrades;

            trader.TableRegistry.StreamRegistry.McxAggrSpot.ReplicationType = PlazaStreamReplicationTypes.RemoteOnline;
            trader.TableRegistry.StreamRegistry.McxTradesSpot.ReplicationType = PlazaStreamReplicationTypes.RemoteOnline;
            trader.TableRegistry.StreamRegistry.McxAggrCurrency.ReplicationType = PlazaStreamReplicationTypes.RemoteOnline;
            trader.TableRegistry.StreamRegistry.McxTradesCurrency.ReplicationType = PlazaStreamReplicationTypes.RemoteOnline;
            
            trader.Connect();
        }

очень печально пропускать данные начала сессии, ведь подкачать изменения стаканов нет возможности (на примере ртс с фтп всё работает нормально)

PS: может еще чего-то не понимаю с событием NewMarketDepths, и на него для этого и нужно подписываться?

Заранее спасибо!

War dieses Thema hilfreich?

Thema teilen

Kommentare (0)

Anmelden oder Konto erstellen, Melden Sie sich an oder registrieren Sie sich, um einen Kommentar zu hinterlassen

Noch keine Kommentare. Seien Sie der Erste!