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


Коллеги,
при переходе на 4.1.5 (точнее проявилось на версии из ревизии 20971, но на 4.1.5 тоже не работает) перестал рабоатать код

Код
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

Фотография
Дата: 12.11.2012
Ответить


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

Tauler

Фотография
Дата: 12.11.2012
Ответить


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

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

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

Tauler

Фотография
Дата: 12.11.2012
Ответить


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

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

Sergey Masyura

Фотография
Автор статей
Дата: 12.11.2012
Ответить


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

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

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


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

Tauler

Фотография
Дата: 12.11.2012
Ответить


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

Инструмент в таблице есть.
Автор топика
Спасибо:

Mikhail Sukhov

Фотография
Автор статей Программист Трейдер
Дата: 12.11.2012
Ответить


Tauler Перейти
В версии 4.1.4 все как часы.

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


Sample так же не работает?
Спасибо:

Tauler

Фотография
Дата: 13.11.2012
Ответить


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

Tauler

Фотография
Дата: 13.11.2012
Ответить


Mikhail Sukhov Перейти
Tauler Перейти
В версии 4.1.4 все как часы.

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


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


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

Tauler

Фотография
Дата: 13.11.2012
Ответить


в Sample только портфели подтянуло.
Автор топика
Спасибо:

esper

Фотография
Программист
Дата: 13.11.2012
Ответить


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

Mikhail Sukhov

Фотография
Автор статей Программист Трейдер
Дата: 13.11.2012
Ответить


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


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

Tauler

Фотография
Дата: 13.11.2012
Ответить


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

Tauler

Фотография
Дата: 13.11.2012
Ответить


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

DDE запускается, никаких исключений не выбрасывается.

Автор топика
Спасибо:

Alexander

Фотография
Дата: 13.11.2012
Ответить


Verifier что выдаёт?
Спасибо:

Tauler

Фотография
Дата: 13.11.2012
Ответить


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

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

Tauler

Фотография
Дата: 13.11.2012
Ответить


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

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

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

Tauler

Фотография
Дата: 13.11.2012
Ответить


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

Блин, ну на 4.1.4 ведь работает :(
Автор топика
Спасибо:

Tauler

Фотография
Дата: 13.11.2012
Ответить


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

Tauler

Фотография
Дата: 13.11.2012
Ответить


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

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

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

Tauler

Фотография
Дата: 13.11.2012
Ответить


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


Добавить файлы через драг-н-дроп, , или вставить из буфера обмена.

loading
clippy