← Назад

Версия 4.1.5, перестает отрабатывать NewSecurities

Коллеги, при переходе на 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 все как часы.

Комментарии (20)

Вход или Создать аккаунт, Войдите или зарегистрируйтесь, чтобы оставить комментарий

Tauler
Tauler Автор

В Квике в стандартных таблицах надо что-то менять при переходе с 4.1.4 на 4.1.5?

Tauler
Tauler Автор

Но вот что сказал Verifier: Ошибка. Экспорт DDE. Инструмент с кодом RIZ2 для деривативной позиции не найден.

Но так как сейчас уже 23:51, то я не знаю - это его реально не хватает, или просто из-за остановки торгов невозможно из квика вытащить.

В самой таблице "Позиция по деривативам" RIZ2 есть.

Sergey Masyura
Sergey Masyura

Tauler: Но вот что сказал Verifier: Ошибка. Экспорт DDE. Инструмент с кодом RIZ2 для деривативной позиции не найден.

Но так как сейчас уже 23:51, то я не знаю - это его реально не хватает, или просто из-за остановки торгов невозможно из квика вытащить.

В самой таблице "Позиция по деривативам" RIZ2 есть.

Не найден инструмент, т.е. смотреть надо в таблицу Инструменты

Tauler
Tauler Автор

А в вересии 4.1.5 надо на событие подписываться ПОСЛЕ trader.Connect() и события Connected, а не ВНУТРИ обработчика события Connected, как раньше?

P.S. ВО все постах про CandleBuilder я видимо врал, что у меня версия 4.1.5, судя по всему, стояла у меня 4.1.4 :

Tauler
Tauler Автор

Сергей, Ни разу не вызывается обработчик trader_NewSecurities. В версии 4.1.4 все как часы.

Инструмент в таблице есть.

Mikhail Sukhov
Mikhail Sukhov

Tauler: В версии 4.1.4 все как часы.

Инструмент в таблице есть.

Sample так же не работает?

Tauler
Tauler Автор

Mikhail Sukhov:

Tauler: В версии 4.1.4 все как часы.

Инструмент в таблице есть.

Sample так же не работает?

Михаил, так же не работает. Коннект к квику проходит, новые бумаги , сделки не появляются.

Mikhail Sukhov
Mikhail Sukhov

Tauler: Михаил, так же не работает. Коннект к квику проходит, новые бумаги , сделки не появляются.

Запустил прямо из дистрибутива. Все нормально, показало. Наверное какие-то в Квике настройки поломались.

Tauler
Tauler Автор

Не успел я проверить - торги встали. Я говорю - есть подозрение, что я по старинке подписываюсь на события NewSecurities внутри обработчика trader_COnnected, а в документации в и в примерах подписка на события идет в основном коде, после вызова Connect. Сегодня буду проверять.

Tauler
Tauler Автор

в Sample только портфели подтянуло.

esper
esper

Проверил сейчас последний Sample с кодеплекса: инструменты, сделки, стаканы - все данные приходят. Может с конфигурацией что-то не так? Экспорт таблиц запускается? Ошибки в лог какие-нибудь выводятся?

Tauler
Tauler Автор

esper: Проверил сейчас последний Sample с кодеплекса: инструменты, сделки, стаканы - все данные приходят. Может с конфигурацией что-то не так? Экспорт таблиц запускается? Ошибки в лог какие-нибудь выводятся? DDE запускается, никаких исключений не выбрасывается.

Tauler
Tauler Автор

Пробовал на info.wnd из дистрибутива версии 4.1.5 Квик - финамовский. Магия - 4.1.4 то работает!

Alexander
Alexander

Verifier что выдаёт?

Tauler
Tauler Автор

Выдает ,что пока что я сам дурак.Сейчас появились инструменты в Sample. буду копать

P.S. На моем проекте Verifier не проходит - моя стратегия только под Forts, я для бумаг окна не открываю.

Tauler
Tauler Автор

Вообще ни хрена не пойму - файл info.wnd из дистрибутив 4.1.5

Сделок не видит, бумаги увидел. В моем проекте нет таблиц для бумаг - стратегия заточена на RI, так что верифайером не получится проверить.

P.S. Verifier только зеленым пишет: Предупреждение. Таблица мои сделки. В таблице 'мои сделки' по индексу 7 должна быть колонка 'Дата торгов' вместо колонки 'Дата сделки'.

Tauler
Tauler Автор

И сделки пошли в Sample. Все разбираюсь сам в своем творении

Блин, ну на 4.1.4 ведь работает :(

Tauler
Tauler Автор

ой-ёй-ёй, а что это за окошко такое не было найдено - инструменты(изменения) ?? Собака наверно тут зарыта!

Tauler
Tauler Автор

Все ,проблему решил. суть была в том, что когда я подменивал сборки в том месте, где у меня стокшарп, студия это видела, показывала что версия Stocksharp.Quik и остальных 4.1.5.

А запускалось приложение видимо со старыми сборками 4.1.4, скопированы в bin/debug в первый раз, так как у сборок Copy Local = false.

Все заработало, всем спасибо! Сказывается полтора года перерыв в программировании :)

Tauler
Tauler Автор

Еще надо было ручками удалить сборки на Stocksharp из проекта и заново добавить. Причем ,по моим ощущениям не из Recent, а из Browse