← Zurück

не приходит событие trader.Connected

S# 4.1.2. квик 6.02.0.39 W7 квик и VS2010 от имени админа верифайер говорит, что все настроено правильно файл лицензии в "моих документах" папка проекта и квик в корне диска "С"

код основан на примере SampleConsole:

            using (var waitHandle = new AutoResetEvent(false))
            {
                // создаем шлюз к Quik-у
                using (var trader = new RealTimeEmulationTrader<QuikTrader>(new QuikTrader(quikPath)))
                {
                    // подписываемся на событие успешного подключения
                    // все действия необходимо производить только после подключения
                    trader.Connected += () =>
                    {
                        Console.WriteLine("Подключение было произведено успешно.");

                        // извещаем об успешном соединени
                        waitHandle.Set();
                    };

                    Console.WriteLine("Производим подключение...");

                    // добавляем экспорт стобцов в таблице инструменты
                    trader.Trader.SecuritiesTable.Columns.Add(DdeSecurityColumns.LastTradePrice);
                    trader.Trader.SecuritiesTable.Columns.Add(DdeSecurityColumns.LastTradeVolume2);
                    trader.Trader.SecuritiesTable.Columns.Add(DdeSecurityColumns.MinStepPrice);
                    trader.Trader.SecuritiesTable.Columns.Add(DdeSecurityColumns.MainSessionBeginTime);
                    trader.Trader.SecuritiesTable.Columns.Add(DdeSecurityColumns.MainSessionEndTime);
                    trader.Trader.SecuritiesTable.Columns.Add(DdeSecurityColumns.EveningSessionBeginTime);
                    trader.Trader.SecuritiesTable.Columns.Add(DdeSecurityColumns.EveningSessionEndTime);
                    trader.Trader.SecuritiesTable.Columns.Add(DdeSecurityColumns.MarginSell);
                    trader.Trader.SecuritiesTable.Columns.Add(DdeSecurityColumns.MaxPrice);
                    trader.Trader.SecuritiesTable.Columns.Add(DdeSecurityColumns.MinPrice);

                    trader.Connect();
                    
                    // дожидаемся события об успешном соединении
                    <mark>waitHandle.WaitOne();</mark>

В SampleConsole подключение к квику срабатывает.

что посоветуете проверить?

War dieses Thema hilfreich?

Thema teilen

Kommentare (4)

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

Memory
Memory

У вас в коде написано

// подписываемся на событие успешного подключения <mark>// все действия необходимо производить только после подключения</mark> trader.Connected += () => { Console.WriteLine("Подключение было произведено успешно.");

// извещаем об успешном соединени waitHandle.Set(); };

Попробуйте экспортировать после получения waitHandle

Sergey Masyura
SelfDeleted
SelfDeleted Autor

это только написано про "экспорт" столбцов )) на самом-то деле это активация этих столбцов в квик-трейдере.

но я попробовал (все равно больше ничего в голову не приходит) -- не помогло!

Memory
Memory

Обработку ошибки попробуйте добавить


trader.ConnectionError += (f) =>
 {
    Console.WriteLine("Ошибка подключения. "+f.Message);
 };

может скажет чего полезного.

Sergey Masyura SelfDeleted
SelfDeleted
SelfDeleted Autor

СПАСИБО!

Ошибка подключения библиотеки TRANS2QUIK.dll. А возникла она потому, что я начал работать на новом ноуте с 64-разрядной W7 (до этого код писался на 32-разрядной машине). Учесть переход на 64 я забыл, и никак не мог понять в чем дело. Ваш совет очень помог!