Вопросы новичка в S#

Вопросы новичка в S# (Locked)
Atom
12/1/2010
ttt


Добрый день. Очень понравилась идея использования Вашей библиотеки для реализации роботов. Подскажите, пожалуйста:

  1. Как идентифицировать заявку? //например, выставляю заявку buy RIZ0 4 контракта по цене 160500. Каким образом далее смогу ее отслеживать? Вариант с использованием таблицы сделок не подходит - необходимо реализовать контроль исполнения заявок пользуясь исключительно информацией из таблицы заявок. С языком C# только начал разбираться, возможно поэтому не нашел в представленных в дистрибутиве S# проектах примеров контроля состояния заявки по ее уникальному признаку.
  2. Верно ли я понимаю суть работы с Квиком: для реализации автономного робота необходимо организовать два потока на C#:
  • первый: выполняет функции получения данных из Квика через DDE сервер (используя библиотеку S#);
  • второй: непосредственно реализует алгоритм выставления и снятия заявок. Можно ли обойтись одним потоком?


<< < 38 39 40 41 42  > >>
Maxim K.

Avatar
Date: 7/14/2011


Mikhail Sukhov: Я не знаю что такое ведуший процесс. Поиск окна Квик происходит через Process.GetProcesses(). Если из этой программы обратиться к этому методу, то будет ли найден процесс Квика среди возвращенных? Если нет, то какая-то неправильная настройка с привилегиями. Да, процесс QUIK находится.


            Process[] p = Process.GetProcesses();
            if (p.FirstOrDefault(pp => pp.Id == 3920) != null)
            {
                MessageBox.Show(p.FirstOrDefault(pp => pp.Id == 3920).MainModule.FileName);
            }


При запуске с отладкой и без вылетает месажбокс с путем к info.exe.

Thanks:

VsevolodG

Avatar
Date: 7/14/2011


Добрый день.

Столкнулся с проблемой отмены заявок. Использую код:

this.Trader.CancelOrders(null, null, null, null, _security);

Получаю ошибку:

Транзакции 'CLASSCODE=SPBFUT; SECCODE=RIU1; TRANS_ID=46506221; ACTION=KILL_STOP_ORDER; STOP_ORDER_KEY=14050471;' не была зарегистрирована. Причина 'Не удается снять стоп-заявку N 14050471'

Дело в том, что заявка с номером 14050471 уже давно имеет статус в Quik "Снята". В результате ошибки программа не снимает никакие заявки.

Версия Stock#: 3.2

Thanks:

Maxim K.

Avatar
Date: 7/14/2011


Пробовал запустить на другом компьютере - тоже самое, без отладки не находит, с отладкой - находит ... Михаил, намекните, пожалуйста, в каком направлении копать, а то я вообще не знаю что делать ...

Версия s# 3.2.4 Версия QUIK 5.20.0.76

Thanks:

Mikhail Sukhov

Avatar
Date: 7/14/2011


Maxim K.: При запуске с отладкой и без вылетает месажбокс с путем к info.exe.

QuikTerminal.QuikProcesses выводит что-нибудь или ошибка?

Thanks:

Maxim K.

Avatar
Date: 7/15/2011


Mikhail Sukhov:

Maxim K.: При запуске с отладкой и без вылетает месажбокс с путем к info.exe.

QuikTerminal.QuikProcesses выводит что-нибудь или ошибка? У меня такого нет. В документации тоже не нашел ничего про > QuikTerminal.QuikProcesses

Thanks:

Alexander

Avatar
Date: 7/15/2011


Добрый день.

Столкнулся с проблемой отмены заявок. Использую код:

this.Trader.CancelOrders(null, null, null, null, _security);

Получаю ошибку:

Транзакции 'CLASSCODE=SPBFUT; SECCODE=RIU1; TRANS_ID=46506221; ACTION=KILL_STOP_ORDER; STOP_ORDER_KEY=14050471;' не была зарегистрирована. Причина 'Не удается снять стоп-заявку N 14050471'

Дело в том, что заявка с номером 14050471 уже давно имеет статус в Quik "Снята". В результате ошибки программа не снимает никакие заявки.

Версия Stock#: 3.2

Если версия библиотеки отлична от 3.2.5 - пробуйте 3.2.5 Вносилось много изменений на протяжении каждой версии, точнее указывайте версию.

Thanks:

Maxim K.

Avatar
Date: 7/19/2011


Разобрался с проблемой - всё было из-за того, что мой проект носил название Info, соответственно исполняемый файл назывался info.exe, как у QUIK. При запуске с отладкой исполняемый файл назывался info.vshost.exe, QUIK находился нормально. Если переименовать исполняемый файл в, например, info1.exe, то всё работает.

Thanks:

Pavel-NS

Avatar
Date: 7/22/2011


Подскажите, какую функциональность выполняет метод Ecng.Collections.CollectionHelper.SyncGet ? В частности, он присутствует в приведённом вами примере событийной стратегии, однако, в хелпе про это пространство имён нет ни слова. Где можно посмотреть описание?

Thanks:

Alexander

Avatar
Date: 7/22/2011


Pavel-NS: Подскажите, какую функциональность выполняет метод Ecng.Collections.CollectionHelper.SyncGet ? В частности, он присутствует в приведённом вами примере событийной стратегии, однако, в хелпе про это пространство имён нет ни слова. Где можно посмотреть описание?

Блокирует коллекцию для изменения и запускает передаваемую функцию над коллекцией.

Thanks:

Pavel-NS

Avatar
Date: 7/22/2011


Alexander: Блокирует коллекцию для изменения и запускает передаваемую функцию над коллекцией.

Спасибо за ответ. А есть ли где более полная документация, чем chm-файл?? Не нашёл какой-либо информации по "ecng" пространству имён ни в доках, а также при просмотре из студии нет никаких комментариев.

Thanks:
<< < 38 39 40 41 42  > >>

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

loading
clippy