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


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

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


Вот код этого консольного приложения:
Код
            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();
            }

Теги:


Спасибо:


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

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


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

esper

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


Александр, можете попробовать собрать проект с такой вот функцией GetQuikWindows:
Код
[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);
}
Спасибо: Артем_2 Den

Артем_2

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


Получилось чего-нить?
Спасибо:

Alexander

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


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


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

Alexander

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


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

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

Артем_2

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


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

Alexander

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


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

Den

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


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

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

vvt

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


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

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

loading
clippy