используется связка quik <->S#.API 4.2.43<-> Matlab на базе представленного:
http://stocksharp.com/do...7-a174-2f24385386a0.htm
все события кроме 'NewTrades' и 'SecuritiesChanged' работают замечательно - заявки выставляются/исполняются из матлам, информация по позициям по текущему стакану обновляется и передается в матлаб.
Собственно оба события 'NewTrades' и 'SecuritiesChanged' генерят
одну и ту же ошибку:
Сообщение 'Execution,T(L)=2015/02/12 19:59:56.541,T(S)=2015/02/12 10:45:28.086,(Tick),Sec=S#:USD000UTSTOM@CETS, Native:,Type:Stock,Ord=0/0/0,Fail=,TId=93094026,Pf=,TPrice=66.528,UId=' привело к ошибке обработки.
Сообщение 'Execution,T(L)=2015/02/12 19:59:56.544,T(S)=2015/02/12 10:45:47.937,(Tick),Sec=S#:USD000UTSTOM@CETS, Native:,Type:Stock,Ord=0/0/0,Fail=,TId=93094082,Pf=,TPrice=66.548,UId=' привело к ошибке обработки.
Индекс находился вне границ массива.
Сообщение 'Execution,T(L)=2015/02/12 19:59:56.547,T(S)=2015/02/12 10:45:52.453,(Tick),Sec=S#:USD000UTSTOM@CETS, Native:,Type:Stock,Ord=0/0/0,Fail=,TId=93094141,Pf=,TPrice=66.52,UId=' привело к ошибке обработки.
Сообщение 'Execution,T(L)=2015/02/12 19:59:56.547,T(S)=2015/02/12 10:45:53.044,(Tick),Sec=S#:USD000UTSTOM@CETS, Native:,Type:Stock,Ord=0/0/0,Fail=,TId=93094145,Pf=,TPrice=66.526,UId=' привело к ошибке обработки.
Индекс находился вне границ массива.
Индекс находился вне границ массива.
Индекс находился вне границ массива.
Индекс находился вне границ массива.
Подскажите пожалуйста в какой класс смотреть чтобы понять откуда лезет ошибка, как ее отследить и какова примерная природа ошибки?
привожу используемый в матлабе код( необходимые библиотеки подключены):
...Начальный матлабовский код
connector = StockSharp.MatLab.MatLabConnector(StockSharp.Quik.QuikTrader(connector_path));
addlistener(connector, 'Connected', @connectorConnected);
addlistener(connector, 'NewTrades', @onalltrades);
addlistener(connector, 'ProcessDataError', @processError);
Connect(connector.RealConnector);
... конечный матлабовский код
-- Начало обработчика всех сделок
function onalltrades(sender, args)
q=1;
--// Конец обработчика всех сделок
Все! больше никаких действий не совершается( те код намеренно упрощен чтобы исключить др модули), и самое интересное что лиснер работает и сделки идут нормальным временем/объемом/ценой / направлением при этом между нормальными сделки лезет эта злополучная ошибка.
как будто NewTrades генерит не только сделки, но еще и ошибки.