CGate MarketDepthsChanged вызывается по всему рынку
Добрый день!
Возможно это обсуждалось ранее, но я не нашел на форуме...
Предыстория:
Запустил пример для работы с PlazaTrader (IsCGate = true;). С роутером соединение установилось удачно. Далее на моем двухядерном компе
процесс примера грузит CPU на 70-80%, память процесса скачет от 500Мб до 1Гб за несколько минут (это без запуска самой стратегии).
Выяснил, что причина в том, что в событие MarketDepthsChanged приходят стаканы абсолютно по всему рынку! Внимание! метод RegisterMarketDepth я даже не вызывал!
Код инициализации коннектора:
Code
Trader = new PlazaTrader();
Trader.Address = Address.Text.To<EndPoint>();
Trader.IsCGate = true;
Trader.CGateKey = "XXX";
Trader.AppName = AppName.Text;
Trader.Login = string.Empty;
Trader.Password = string.Empty;
var revisionManager = Trader.StreamManager.RevisionManager;
revisionManager.Tables.Add(Trader.TableRegistry.IndexLog);
revisionManager.Tables.Add(Trader.TableRegistry.TradeFuture);
revisionManager.Tables.Add(Trader.TableRegistry.TradeOption);
Trader.Restored += ..
Trader.Connected += ..
Trader.ConnectionError += ..
Trader.Disconnected += ..
Trader.MarketDataSubscriptionFailed += ..
Trader.NewSecurities += ..
Trader.NewTrades += ..
Trader.NewOrders += ..
Trader.NewMyTrades += ..
Trader.NewPortfolios += ..
Trader.NewPositions += ..
Trader.MarketDepthsChanged += Trader_MarketDepthsChanged;
Trader.Connect(); //после этого начинают приходить стаканы по всему рынку...
----------------
void Trader_MarketDepthsChanged(IEnumerable<MarketDepth> snapshots)
{
foreach (var snapshot in snapshots)
{
//Тут приходят инструменты абсолютно по всему рынку. Даже без вызова Trader.RegisterMarketDepth(security);
var sec = snapshot.Security;
}
}
Собственно получается, что реализация PlazaTrader не соответствует интерфейсу IConnector (механизм подписки - пустышка).
Ребят, кто использовал PlazaTrader, у вас такое наблюдается? Или может это у меня одного такая аномалия.