Данные в начале торговой сессии
При запуске сервиса получающего потоки с ммвб до начала торговой сессии (до 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, и на него для этого и нужно подписываться?
Заранее спасибо!