Коллеги, при переходе на 4.1.5 (точнее проявилось на версии из ревизии 20971, но на 4.1.5 тоже не работает) перестал рабоатать код
```csharp
private void btnConnect_Click(object sender, EventArgs e) {
if (trader == null || !trader.IsConnected)
{
if (trader == null)
{
trader = new QuikTrader(edtPathToQuik.Text);
trader.Connected += trader_Connected;
}
if (!trader.IsConnected)
trader.Connect();
}
else
trader.Disconnect();
waitHandle.WaitOne();
// запускаем экспорт по DDE
trader.StartExport(new[] { trader.SecuritiesTable, trader.MyTradesTable, trader.DerivativePositionsTable, trader.DerivativePortfoliosTable, trader.OrdersTable, trader.TradesTable });
waitHandle.WaitOne();
trader.RegisterTrades(security);
void trader_NewSecurities(IEnumerable<Security> securities)
{
if (security==null)
security = securities.FirstOrDefault(sec => sec.Code == "RIZ2");
waitHandle.Set();
}
void trader_NewPortfolios(IEnumerable<Portfolio> portfolios)
{
if (portfolio == null)
portfolio = portfolios.FirstOrDefault(p => p.Name == "SPBFUT00Q51");
}
void trader_Connected()
{
trader.NewPortfolios += trader_NewPortfolios;
trader.NewSecurities += trader_NewSecurities;
trader.NewTrades += trader_NewTrades;
waitHandle.Set();
}
Ни разу не вызывается обработчик trader_NewSecurities. В версии 4.1.4 все как часы.
Comments (20)
Login or Create account, Log in or register to leave a comment
В Квике в стандартных таблицах надо что-то менять при переходе с 4.1.4 на 4.1.5?
Но вот что сказал Verifier: Ошибка. Экспорт DDE. Инструмент с кодом RIZ2 для деривативной позиции не найден.
Но так как сейчас уже 23:51, то я не знаю - это его реально не хватает, или просто из-за остановки торгов невозможно из квика вытащить.
В самой таблице "Позиция по деривативам" RIZ2 есть.
Не найден инструмент, т.е. смотреть надо в таблицу Инструменты
А в вересии 4.1.5 надо на событие подписываться ПОСЛЕ trader.Connect() и события Connected, а не ВНУТРИ обработчика события Connected, как раньше?
P.S. ВО все постах про CandleBuilder я видимо врал, что у меня версия 4.1.5, судя по всему, стояла у меня 4.1.4 :
Сергей, Ни разу не вызывается обработчик trader_NewSecurities. В версии 4.1.4 все как часы.
Инструмент в таблице есть.
Sample так же не работает?
Михаил, так же не работает. Коннект к квику проходит, новые бумаги , сделки не появляются.
Запустил прямо из дистрибутива. Все нормально, показало. Наверное какие-то в Квике настройки поломались.
Не успел я проверить - торги встали. Я говорю - есть подозрение, что я по старинке подписываюсь на события NewSecurities внутри обработчика trader_COnnected, а в документации в и в примерах подписка на события идет в основном коде, после вызова Connect. Сегодня буду проверять.
в Sample только портфели подтянуло.
Проверил сейчас последний Sample с кодеплекса: инструменты, сделки, стаканы - все данные приходят. Может с конфигурацией что-то не так? Экспорт таблиц запускается? Ошибки в лог какие-нибудь выводятся?
Пробовал на info.wnd из дистрибутива версии 4.1.5 Квик - финамовский. Магия - 4.1.4 то работает!
Verifier что выдаёт?
Выдает ,что пока что я сам дурак.Сейчас появились инструменты в Sample. буду копать
P.S. На моем проекте Verifier не проходит - моя стратегия только под Forts, я для бумаг окна не открываю.
Вообще ни хрена не пойму - файл info.wnd из дистрибутив 4.1.5
Сделок не видит, бумаги увидел. В моем проекте нет таблиц для бумаг - стратегия заточена на RI, так что верифайером не получится проверить.
P.S. Verifier только зеленым пишет: Предупреждение. Таблица мои сделки. В таблице 'мои сделки' по индексу 7 должна быть колонка 'Дата торгов' вместо колонки 'Дата сделки'.
И сделки пошли в Sample. Все разбираюсь сам в своем творении
Блин, ну на 4.1.4 ведь работает :(
ой-ёй-ёй, а что это за окошко такое не было найдено - инструменты(изменения) ?? Собака наверно тут зарыта!
Все ,проблему решил. суть была в том, что когда я подменивал сборки в том месте, где у меня стокшарп, студия это видела, показывала что версия Stocksharp.Quik и остальных 4.1.5.
А запускалось приложение видимо со старыми сборками 4.1.4, скопированы в bin/debug в первый раз, так как у сборок Copy Local = false.
Все заработало, всем спасибо! Сказывается полтора года перерыв в программировании :)
Еще надо было ручками удалить сборки на Stocksharp из проекта и заново добавить. Причем ,по моим ощущениям не из Recent, а из Browse