← Zurück

StockSharp. Lua. Quik. Программа не видит ничего кроме портфелей

Добрый день. Вопросы, подобные моему, где-то уже задавались, но ответов на них я не нашел. Возникла проблема при связи с Quik седьмой версии (7.5.0.72). Подключил к проекту WPF в Visual Studio последнюю доступную на данный момент версию Stock Sharp (4.3.19.4). Устанавливал ее как через NuGet, так и через скачивание архива с сайта и его разблокировку перед разархивированием — на результат не влияло. Запустил Lua скрипт в квике. Если перед подключением подписаться на получение портфелей...

Trader.NewPortfolios += x => { MessageBox.Show("here"); foreach(var t in x) { MessageBox.Show(t.ToString()); } };

...то всё работает, список портфелей выводится корректно. Если же Trader.NewPortfolios заменить на Trader.NewTrades, Trader.NewOrders или Trader.NewSecurities, событие просто не происходит и даже первый MessageBox не появляется. В чем здесь может быть проблема? В терминале таблицы заявок и сделок не пусты. Может ли причина быть в том, что программу я тестирую на демо счете брокера? Или названия таблиц с выходом новой версии изменились? Спасибо.

War dieses Thema hilfreich?

Thema teilen

Kommentare (3)

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

Mikhail Sukhov
Mikhail Sukhov

Попробуйте стандартный пример SampleQuik

ll
ll Autor

Mikhail Sukhov: Попробуйте стандартный пример SampleQuik

Спасибо за ответ. Собственно, из примера в папке SampleQuik и были мной взяты следующие строки:

Trader.NewSecurities += securities => _securitiesWindow.SecurityPicker.Securities.AddRange(securities); Trader.NewMyTrades += trades => _myTradesWindow.TradeGrid.Trades.AddRange(trades); Trader.NewTrades += trades => _tradesWindow.TradeGrid.Trades.AddRange(trades); Trader.NewOrders += orders => _ordersWindow.OrderGrid.Orders.AddRange(orders); Trader.NewPortfolios += portfolios => .......

а также логика подключения к QUIK. Я лишь временно изменил функции, в которые подаются параметры securities, trades, orders (то есть убрал вывод данных в DataGrid в отдельной форме, который не проходил, и заменил на простой MessageBox), чтобы точно убедиться, что ни одно из событий кроме Trader.NewPortfolios не произошло.

Сергей Дворцов
Сергей Дворцов

Чтобы пришло Trader.NewTrades 1.) Нужно чтобы инструмент был в таблице обезличенных сделок в Квике