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

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


ttt

Avatar
Добрый день.
Очень понравилась идея использования Вашей библиотеки для реализации роботов.
Подскажите, пожалуйста:
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 Go to


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

Да, процесс QUIK находится.

Code

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


Добрый день.

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

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


Получаю ошибку:
Quote:
Транзакции '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. Go to
При запуске с отладкой и без вылетает месажбокс с путем к info.exe.


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

Thanks:

Maxim K.

Avatar
Date: 7/15/2011


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


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


У меня такого нет. В документации тоже не нашел ничего про
Quote:
QuikTerminal.QuikProcesses
Thanks:

Alexander

Avatar
Date: 7/15/2011


VsevolodG Go to
Добрый день.

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

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


Получаю ошибку:
Quote:
Транзакции '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 Go to
Подскажите, какую функциональность выполняет метод Ecng.Collections.CollectionHelper.SyncGet ?
В частности, он присутствует в приведённом вами примере событийной стратегии, однако, в хелпе про это пространство имён нет ни слова. Где можно посмотреть описание?


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

Pavel-NS

Avatar
Date: 7/22/2011


Alexander Go to

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


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

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

loading
clippy