Подключение к Quik и запуск DDE

Подключение к Quik и запуск DDE
Atom
1/24/2011
vvt


Пробую подключение к Quik и запуск DDE из примеров (Sample, SampleSMA).
Все происходит очень медленно, поискал по форуму, есть несколько сообщений с такими же проблемами.
Железо вроде не самое слабое (Phenom II X2 555/8Gb/SSD), система Windows 7 Ultimate 64bit.
Запускаются Quik и примеры от имени администратора.
Хотелось бы все-таки с помощью Михаила докопаться до возможных причин таких тормозов.

В связи с этим первый вопрос:
после установки соединения с Квиком через QuikTrader.Connect() и поступления события Connected секунд где-то через 10 в Квике появляется окно "Выбор активных счетов и задание их очередности", которое висит и пропадает где-то через 30 секунд.
Так и должно быть?


Вот код этого консольного приложения:
Code
            Console.WriteLine("Запуск...");

            try
            {
                var waitHandle = new AutoResetEvent(false);

                // создаем шлюз к Quik-у
                var trader = new QuikTrader(@"C:\FinamJunior\info.exe");

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

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

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

                trader.Connect();

                // дожидаемся события об успешном соединении
                waitHandle.WaitOne();
                Console.ReadKey();

                trader.Dispose();
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex);
                Console.ReadKey();
            }

Tags:


Thanks:


<< < 4 5 6 
Артем_2

Avatar
Date: 7/18/2011
Reply


Я не сразу допер... С новым предикатом ведь совсем все замечательно!!![drool]
Thanks:

esper

Avatar
Date: 7/18/2011
Reply


Александр, можете попробовать собрать проект с такой вот функцией GetQuikWindows:
Code
[DllImport("user32.dll", SetLastError = true)]
static extern int GetWindowThreadProcessId(IntPtr hWnd, out int lpdwProcessId);

static int GetProcessId(IntPtr hwnd)
{
	int pid;
	GetWindowThreadProcessId(hwnd, out pid);
	return pid;
}

private static IEnumerable<SystemWindow> GetQuikWindows(Process process)
{
	if (process == null)
		throw new ArgumentNullException("process");

	return SystemWindow.FilterToplevelWindows(q => GetProcessId(q.HWnd) == process.Id);
}
Thanks: Артем_2 Den

Артем_2

Avatar
Date: 7/18/2011
Reply


Получилось чего-нить?
Thanks:

Alexander

Avatar
Date: 7/18/2011
Reply


На моей машине (Win 7) стало запускаться раз в 10 быстрее - я банально даже не успеваю просмотреть окошки.
Вы большие молодцы, спасибо! [thumbup]


После закрытия основной сессии протестирую с 7 копиями квиков.
Thanks:

Alexander

Avatar
Date: 7/18/2011
Reply


Exception возник при остановке экспорта. Буду разбираться.

В любом случае - запуск \ остановка стала на порядки быстрее :)
Thanks:

Артем_2

Avatar
Date: 7/19/2011
Reply


Урааа![biggrin] Отдельное спасибо esper!
Thanks:

Alexander

Avatar
Date: 7/19/2011
Reply


Exception поборол, в 3.2.6 будет это изменение.
Thanks: Den

Den

Avatar
Date: 8/7/2011
Reply


Alexander
Exception поборол, в 3.2.6 будет это изменение.

Спасибо большое! Теперь экспорт просто летает!!!
Thanks:

vvt

Avatar
Date: 8/8/2011
Reply


Ура!!! Свершилось!!! Спасибо!!!
Thanks:
<< < 4 5 6 

Attach files by dragging & dropping, , or pasting from the clipboard.

loading
clippy